package com.probox.common.entity.mapper.centre;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.probox.common.entity.domain.centre.CustomerInfo;
import com.probox.common.entity.vo.centre.customer.CustomerQueryVo;
import com.probox.common.entity.vo.centre.order.OrderQueryVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * 客户信息Mapper接口
 *
 * @author zsy
 * @date 2021-07-23
 */
@Mapper
public interface CentreCustomerInfoMapper extends BaseMapper<CustomerInfo> {

    List<HashMap> selectNewlyCustomerMap(@Param("customerQueryVo") CustomerQueryVo customerQueryVo);

    /**
     * 查询会员总数
     * @param customerQueryVo
     * @return
     */
    public Integer selectMembershipTotal(@Param("customerQueryVo")CustomerQueryVo customerQueryVo);

    public Integer selectStoreCustomerTotal(OrderQueryVo queryVo);

    /**
     * 查询新增会员数量
     * @param customerQueryVo
     * @return
     */
    public Integer selectMemberNewly(@Param("customerQueryVo")CustomerQueryVo customerQueryVo);

    /**
     * 查询升级会员数量
     * @param customerQueryVo
     * @return
     */
    public Integer selectMemberUpgrade(@Param("customerQueryVo")CustomerQueryVo customerQueryVo);

    /**
     * 查询储值会员数量
     * @param customerQueryVo
     * @return
     */
    public Integer selectMemberStored(@Param("customerQueryVo")CustomerQueryVo customerQueryVo);

    /**
     * 查询会员ID
     * @return
     */
    List<Integer> selectMemberIdList(@Param("customerQueryVo")CustomerQueryVo customerQueryVo);

    /**
     * 新增会员Map
     * @param customerQueryVo
     * @return
     */
    List<HashMap> selectMemberNewlyMap(@Param("customerQueryVo") CustomerQueryVo customerQueryVo);

    /**
     * 升级会员Map
     * @param customerQueryVo
     * @return
     */
    List<HashMap> selectMemberUpgradeMap(@Param("customerQueryVo") CustomerQueryVo customerQueryVo);
}
